package cn.com.nes.site.service.workOrder.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 安装工单主体详情
 *
 * @Author: ShenWei
 * @Date: 2024/05/23/16:07
 */
@Data
public class WorkOrderInstallInfoDTO {
    /**
     * 安装工单id
     */
    private Long id;
    /**
     * 处理状态名称
     */
    private String workOrderStateName;
    /**
     * 创建人姓名
     */
    private String createUserName;
    /**
     * 创建时间
     */
    private Object gmtCreate;
    /**
     * 处理人姓名
     */
    private String handleUserName;
    /**
     * 处理时间
     */
    private Object gmtModified;
    /**
     * 客户姓名
     */
    private String customerName;
    /**
     * 客户电话
     */
    private String customerPhone;
    /**
     * 联系人姓名
     */
    private String contact;
    /**
     * 联系人电话
     */
    private String contactPhone;
    /**
     * 地址
     */
    private String address;
    /**
     * 门牌号
     */
    private String houseNumber;
    /**
     * 系统单id
     */
    private Long priceMasterId;
    /**
     * 客户id
     */
    private String customerId;
    /**
     * 紧急程度名称
     */
    private String emergencyDegreeName;
    /**
     * 任务类型名称
     */
    private String taskTypeName;
    /**
     * 安装工单名称
     */
    private String workOrderName;
    /**
     * 安装施工状态
     */
    private Integer installState;

    /**
     * 工单状态
     */
    private Integer orderStatus;
    /**
     * 工单服务状态
     */
    private Integer orderServiceStatus;
    /**
     * 安装日期
     */
    private Date installDate;
    /**
     * 质保年份(年)
     */
    private String qualityGuaranteeYears;
    /**
     * 采购案源
     */
    private Integer procureSource;
    /**
     * 购置资金
     */
    private BigDecimal procureFund;
    /**
     * 约定上门时间-开始
     */
    private Date agreedDoorstepTimeStart;
    /**
     * 约定上门时间-结束
     */
    private Date agreedDoorstepTimeEnd;

    private Integer audited;

    private String auditComment;
    /**
     * 热链云客户房屋id
     */
    private Long customerHouseId;
    /**
     * 业务支持人员id
     */
    private Long maintainId;

    @ApiModelProperty(value = "是否可撤销 true - 可以撤销")
    private Boolean canCancel = false;

    @ApiModelProperty(value = "设备信息")
    private List<InstallOrderEquipmentDTO> installOrderEquipments;

    @ApiModelProperty(value = "是否需要操作工单 true-需要 false-不需要")
    private Boolean needToOperate;

    // 扩展字段
    private Long callCenterCompanyId; // 长效管护公司id
    private String orderCreateSource; // 订单来源 - 公司名称
    private String installStateName;  // 安装施工状态名称
    private String procureSourceName; // 采购案源名称
    private String orderStatusDesc; // 工单状态描述
    private String orderServiceStatusDesc; // 工单服务状态描述
    private String installDateStr;  // 安装日期
}
